home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / o_qwk10.zip / O_QWKER.DOC < prev    next >
Text File  |  1992-12-31  |  53KB  |  1,253 lines

  1.  
  2.  
  3.  
  4.  
  5.         =======================================
  6.          O_QWKer - QWK Mail Door for Opus 1.7x
  7.           (C) Bernardo Cardoso 1992 (2:361/1)
  8.         =======================================
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                          
  17.  
  18.  
  19.  
  20.                               Version 1.0
  21.                                31-Dec-92
  22.                          Sysop Reference Manual
  23.  
  24.                            by Fausto Carvalho
  25.  
  26.  
  27.                                O_QWKer 1.0                         Page 2
  28.  
  29.  
  30.         =============================
  31.          Organization of This Manual
  32.         =============================
  33.                                                                      Page
  34.          - Introduction ................................................3
  35.          - Current Features ............................................3
  36.          - Requirements ................................................4
  37.          - Configuring O_QWKer .........................................5
  38.               Configuration Commands ...................................5
  39.                  Definition Group ......................................5
  40.                  Session Group .........................................9
  41.                  Sysop Local Mode Group ...............................11
  42.          - Installing O_QWKer .........................................12
  43.               Installing the Menu Option ..............................12
  44.               Multi-Line Setup ........................................14
  45.               Using O_QWKer across a Network ..........................14
  46.               Installing Compressors ..................................15
  47.               Installing Protocols ....................................16
  48.               Scanning Echomail .......................................16
  49.          - Security and Access Management .............................17
  50.               Scanning Messages for .QWK Packet .......................17
  51.               Importing Messages from .REP Packet .....................18
  52.                  Message Import Error Codes ...........................19
  53.          - Menus and On-line Help .....................................20
  54.               Menus ...................................................20
  55.               On-line help ............................................21
  56.          - Insights ...................................................22
  57.          - License ....................................................23
  58.          - Disclaimer .................................................23
  59.          - Acknowledgements ...........................................24
  60.          - Contacting the Authors .....................................24
  61.  
  62.  
  63.                                O_QWKer 1.0                         Page 3
  64.  
  65.  
  66.         ==============
  67.          Introduction
  68.         ==============
  69.  
  70.         A mail door able to deal with the QWK format has been in the wish
  71.         list of many Opus Sysops for quite a long time.
  72.  
  73.         We decided to embrace this project due to high pressure from  our
  74.         users:  they  are  used  to  off-line reading and most of systems
  75.         around here have QWK mail doors.  In  fact  QWK  is  perhaps  the
  76.         off-line  reading  format  which is closer to being accepted as a
  77.         standard in BBSing,  and that's far more evident when  the  three
  78.         most  popular  off-line  readers  for  Opus  mail  doors  (in  no
  79.         particular order OMK, Blue Wave and Silver Xpress) support it.
  80.  
  81.         Another strong reason to carry this work  has  been  our  feeling
  82.         that  a  mail  door  following  the Opus spirit (free to use in a
  83.         Lawful and Friendly manner) should be available for Opus 1.7x and
  84.         later Sysops, since OMK stopped at version 1.14.
  85.  
  86.         So here is our first major contribution to WOC.  Hope you find it
  87.         useful and usable!
  88.  
  89.  
  90.         ==================
  91.          Current Features
  92.         ==================
  93.  
  94.         O_QWKer (pronounces Oh!Quicker)  has been designed to be easy  to
  95.         set-up  and  use,  yet  powerful enough to have the confidence of
  96.         Sysops and users.
  97.  
  98.         During the early design and implementation phases more  and  more
  99.         features  have  been  added.   In fact our option to submit it to
  100.         restricted Beta testing instead of  wide  distribution  from  the
  101.         earlier  versions  proved to be the best way to attain a reliable
  102.         piece of software,  since the Opus  Beta  Test  Team  contributed
  103.         valuable suggestions and careful testing of all features.
  104.  
  105.         Here are the most relevant:
  106.  
  107.           * Opus style user interface with ANSI/AVATAR support
  108.           * Full Opus menus and command stacking
  109.           * On-line help using external .OEC files
  110.           * gets most of relevant data directly from Opus system files
  111.           * multi-line support
  112.           * security is based on Opus privileges and keys
  113.           * supports all the standard  QWK features,  including ADD, DROP
  114.             and RESET commands
  115.           * up to 8 different compressors
  116.           * up to 8 different transfer protocols
  117.           * inactivity, allowed time and carrier loss handling
  118.           * orphaned messages stored in BAD_ECHO or an alternative path
  119.           * allows mandatory areas definition
  120.           * supports local Sysop usage with special features (eg. network
  121.             access)
  122.           * Opus style log file with different detail modes
  123.           * supports MSGID kludge in Echomail areas
  124.           * uses LREAD.DAT message pointers
  125.  
  126.  
  127.                                O_QWKer 1.0                         Page 4
  128.  
  129.  
  130.           * message user counters updated  -  this is a must for  systems
  131.             enforcing Msg/DL ratios
  132.           * supports automatic Echomail scan - ideal for barefoot Opus
  133.           * includes a strategy to avoid multiple tear lines
  134.           * if Opus binary date is null, FTS-0001/SEAdog  ASCII time/date
  135.             is used
  136.  
  137.         The door has been developed under Borland's Turbo Pascal 6.0.
  138.  
  139.         It has been tested with the following off-line readers:
  140.  
  141.              Speed Read 1.10
  142.              SLMR 2.0 and 2.1
  143.              OffLine 1.38, 1.39 and 1.40
  144.              OLX 2.1
  145.              WinQWK 1.30
  146.              Blue Wave 2.10
  147.              1st Reader 1.0
  148.  
  149.  
  150.         ==============
  151.          Requirements
  152.         ==============
  153.  
  154.         O_QWKer  requires  DOS 3.x or later,  Opus 1.7x or later and less
  155.         than 180 KBytes of available RAM.  It uses swap  memory  routines
  156.         to allow the use of memory-hungry archiving programs like ARJ.
  157.  
  158.         A setting of FILES = 20 or more is required in your CONFIG.SYS or
  159.         equivalent.
  160.  
  161.         An ANSI driver (e.g. ANSI.SYS)  is  required  for correct console
  162.         display.
  163.  
  164.  
  165.                                O_QWKer 1.0                         Page 5
  166.  
  167.  
  168.         =====================
  169.          Configuring O_QWKer
  170.         =====================
  171.  
  172.         As we said above, most of the needed information to allow O_QWKer
  173.         to  run properly is extracted by the mail door directly from your
  174.         Opus parameter file (*.PRM), so it is quite easy to configure it.
  175.  
  176.         Options not defined in the  .PRM  file,  or  just  left  to  your
  177.         decision,  are defined in a plain ASCII configuration file called
  178.         O_QWKer.CFG,  which is searched in  the  same  directory  as  the
  179.         executable  O_QWKer.EXE.   Nevertheless  please note this is just
  180.         the default name - more on this later, under "Installation".
  181.  
  182.         You may have a look at the SAMPLE.CFG and MINIMAL.CFG files, both
  183.         included in the distribution archive.
  184.  
  185.         Configuration Commands
  186.         ----------------------
  187.  
  188.         Lines beginning with  %  are considered comments and are ignored.
  189.         In fact,  the parsing of a .CFG  line  stops  upon  finding  a  %
  190.         character, so it may appear anywhere to start a comment.
  191.  
  192.         The  commands inside the configuration file do NOT need to appear
  193.         in specific order.
  194.  
  195.         Definition Group
  196.         ----------------
  197.  
  198.         BBSID          Identification of the  QWK  packet.  This name  is
  199.                        limited to 8 (DOS filename) characters and must be
  200.                        chosen in a way  which can help  users to identify
  201.                        your BBS.  It should be as unique as possible.
  202.  
  203.                        Ex:  BBSID  MidiThru
  204.  
  205.         BBSWHERE       Location of your system, to be included in the QWK
  206.         (optional)     packet  header.  This  parameter  is just  to keep
  207.                        compatibility with QWK format definition.
  208.  
  209.                        Ex:  BBSWHERE  Aveiro, Portugal
  210.  
  211.         BBSPHONE       Data phone number of your system to be included in
  212.         (optional)     the QWK packet header.  This parameter  is just to
  213.                        keep compatibility with QWK format definition.
  214.  
  215.                        Ex:  BBSPHONE  351-34-313554
  216.  
  217.         PRM            .PRM file.  In the  absence of this  command,  the
  218.         (optional)     door uses the  OPUS environment variable  (defined
  219.                        with SET OPUS=xxxx.PRM).
  220.  
  221.                        Ex:  PRM  C:\OPUS\BBS.PRM
  222.  
  223.         NEWS           News file to be included in the QWK packets.
  224.         (optional)
  225.                        Ex:  NEWS  C:\OPUS\QWK\NEWS.TXT
  226.  
  227.  
  228.                                O_QWKer 1.0                         Page 6
  229.  
  230.  
  231.         WELCOME        ANSI screen  to be  included  in the  QWK  packets
  232.         (optional)     (it's shown at the beginning of the users off-line
  233.                        reading session).
  234.  
  235.                        Ex:  WELCOME  C:\OPUS\QWK\HELLO.ANS
  236.  
  237.         GOODBYE        ANSI screen  to be  included  in the  QWK  packets
  238.         (optional)     (shown to the users  at the end of their  off-line
  239.                        reading session).
  240.  
  241.                        Ex:  GOODBYE  C:\OPUS\QWK\BYEBYE.ANS
  242.  
  243.         NEWFILES       New files list, to be included in the QWK packets.
  244.         (optional)     This file  must be created by a  separate  program
  245.                        (not included) like Opus-Fam.
  246.  
  247.                        Ex:  NEWFILES  C:\OPUS\FILES\NEWFILES.TXT
  248.  
  249.         BULLETINS      Bulletins directory. This directory contains files
  250.         (optional)     with names BLT-*.*,  and the inclusion  in the QWK
  251.                        packets  is based upon  the file date.  This means
  252.                        that  all new bulletins  since the users last call
  253.                        date are included in his/her packet.
  254.  
  255.                        Ex:  BULLETINS  C:\OPUS\BULL\
  256.  
  257.         FORCE          The user may active and deactivate several options
  258.         (optional)     in his/her O_QWKer configuration menu,  to control
  259.                        what is included in their QWK packet. This command
  260.                        exists to control the use of those options  and it
  261.                        is applicable on the following:
  262.  
  263.                          WELCOME   always include Welcome Screen
  264.                          GOODBYE   always include Goodbye Screen
  265.                          NEWS      always include News file
  266.                          NEWFILES  always include new files list
  267.                          BULLETINS always include new bulletins
  268.                          REPLIES   always include messages  originated by
  269.                                    the user
  270.                          NOVICE    force Novice help level inside O_QWKer
  271.  
  272.                        Ex:  FORCE  NEWS
  273.  
  274.                        There is  another syntax  for this command,  which
  275.                        allows you  to force  the scan of  certain message
  276.                        areas, so that  the user  is  not allowed  to turn
  277.                        them off. That's the AREAS option.
  278.  
  279.                        Ex:  FORCE  AREA  1
  280.  
  281.         EXCLUDE        This command has the opposite effect of FORCE.  In
  282.         (optional)     its first syntax,  it allows you  to deny the user
  283.                        option of  scanning message base  for his/her Opus
  284.                        Alias name. For that you use the option ALIAS.
  285.  
  286.                        Ex:  EXCLUDE  ALIAS
  287.  
  288.  
  289.                                O_QWKer 1.0                         Page 7
  290.  
  291.  
  292.                        The  second syntax is  AREAS,  and  allows you  to
  293.                        define  message areas  to  be  excluded  from  the
  294.                        available  O_QWKer  areas list  to  any user  with
  295.                        privilege bellow AsstSysop.
  296.  
  297.                        Ex:  EXCLUDE  AREAS  0 31 99
  298.  
  299.         FULLSCAN AREA  This command  makes  the message  scanning process
  300.         (optional)     ignore user pointers  and always scan all messages
  301.                        in the areas to which it is applied.
  302.  
  303.                        It  is  useful  in  an  area  where  messages  are
  304.                        frequently deleted,  such as your Local Mail area.
  305.                        In such areas, it is not difficult to have an user
  306.                        pointer directed  beyond  the last message,  which
  307.                        means  no messages will be included in the packet,
  308.                        even if there are some unread. With the full scan,
  309.                        you  guarantee  that  all  eligible  messages  are
  310.                        delivered.
  311.  
  312.                        You should  activate  a  maintenance procedure  to
  313.                        periodically erase received messages  in the areas
  314.                        that you full scan, because even received messages
  315.                        keep being included in the user packets.
  316.  
  317.                        Ex:  FULLSCAN  AREA  1
  318.  
  319.         PACKER TEXT
  320.         PACKER COMPRESS
  321.         PACKER UNCOMPRESS
  322.                        These  three  commands  groups  define  the packet
  323.                        compression scheme available for user selection.
  324.  
  325.                        TEXT - description shown to users
  326.                        COMPRESS -  command used to compress QWK packets
  327.                        UNCOMPRESS - command to uncompress REP packets
  328.  
  329.                        You  may define  up to  eight compression methods.
  330.                        The first one defined is used as default.
  331.  
  332.                        Ex:  PACKER  TEXT         Zip 1.10
  333.                             PACKER  COMPRESS     C:\UTIL\PKZIP.EXE -U
  334.                             PACKER  UNCOMPRESS   C:\UTIL\PKUNZIP.EXE
  335.  
  336.         REDIRECT COMPRESSORS
  337.         (optional)     This option allows  the redirection  of compressor
  338.                        output  to  the user,  thus giving visual feedback
  339.                        while their QWK packet is being compressed.
  340.  
  341.                        When defined, it is applied to any capable defined
  342.                        compressor, like PKZIP and LHA.
  343.  
  344.                        It is automatically disabled for Local usage.
  345.  
  346.                        Ex:  REDIRECT  COMPRESSORS
  347.  
  348.  
  349.                                O_QWKer 1.0                         Page 8
  350.  
  351.  
  352.         PROTOCOL TEXT
  353.         PROTOCOL UPLOAD
  354.         PROTOCOL DOWNLOAD
  355.                        These groups of three commands define the transfer
  356.                        options available for user selection.
  357.  
  358.                        TEXT - description shown to users
  359.                        UPLOAD - batch file to upload REP packets
  360.                        DOWNLOAD - batch file to download QWK packets
  361.  
  362.                        You may  define  up to eight protocols.  The first
  363.                        one defined is used as default.
  364.  
  365.                        Please note  you must use  a  batch file,  so that
  366.                        parameters can be passed to the protocol engine.
  367.  
  368.                        Ex:  PROTOCOL  TEXT       Zmodem (DSZ)
  369.                             PROTOCOL  UPLOAD     C:\OPUS\RZ.BAT
  370.                             PROTOCOL  DOWNLOAD   C:\OPUS\SZ.BAT
  371.  
  372.         NEWLINE        This option defines what character will be used as
  373.         (optional)     CR/LF  in  messages included  in  the packet.  All
  374.                        known off-line readers  expect  the  character "a"
  375.                        (ASCII 227 decimal), so this is the default value.
  376.  
  377.                        Changing the default implies the need of a special
  378.                        reader, but will give the possibility to work with
  379.                        codepages where char 227 may not be made available
  380.                        for separator functions (e.g. Chinese).
  381.  
  382.                        Ex:  NEWLINE  160
  383.  
  384.         MSGID KLUDGE   If this option is defined, all messages entered on
  385.         (optional)     Echomail areas will include a MSGID kludge.
  386.  
  387.                        Ex:  MSGID  KLUDGE
  388.  
  389.         SHOW KLUDGES   If this option is defined, all messages scanned to
  390.         (optional)     Sysop or AsstSysop will include Kludges, Seen-by's
  391.                        and Path lines.
  392.  
  393.                        Ex:  SHOW  KLUDGES
  394.  
  395.         ALTER TEARLINE
  396.         (optional)     According to FTSC documents  and  Echomail Policy,
  397.                        only  one  tearline  may  appear  on  an  echomail
  398.                        message.  Nevertheless  it is not uncommon to find
  399.                        messages containing 2 or even 3 of those.  O_QWKer
  400.                        avoids deleting lines from  the  received messages
  401.                        but  will substitute  any  candidate occurrence to
  402.                        -*-
  403.  
  404.                        Going further,  there are many echomail processors
  405.                        which  do not  respect the existence of a tearline
  406.                        in the message and add another one, so this option
  407.                        will avoid the normal inclusion of a tearline, and
  408.                        will rather include:
  409.  
  410.                         -*- Opus-CBCS x.xx via O_QWKer vx.xx
  411.  
  412.  
  413.                                O_QWKer 1.0                         Page 9
  414.  
  415.  
  416.                        If you use  the internal  Opus  echomail  scanner,
  417.                        forget about this option,  since you'll never need
  418.                        it.
  419.  
  420.                        Ex: ALTER TEARLINE
  421.  
  422.         HELPPATH       If this option is defined, it states where O_QWKer
  423.         (optional)     will be looking for the on-line help OEC files. By
  424.                        default,  it  is  used  the path to the executable
  425.                        O_QWKer.EXE.
  426.  
  427.                        Ex: HELPPATH  C:\O_QWKer\HELP
  428.  
  429.         Session Group
  430.         -------------
  431.  
  432.         STATUS LINE    When this option  is defined,  a  status line will
  433.         (optional)     appear at the console,  allowing the Sysop to know
  434.                        who is using the mail door, the baudrate,  and the
  435.                        caller's remaining time inside O_QWKer.
  436.  
  437.                        Ex: STATUS  LINE
  438.  
  439.         TIMELIMIT      Maximum allowed time  (in minutes)  for an O_QWKer
  440.         (optional)     session. It defaults to 10 (minutes).
  441.  
  442.                        Ex:  TIMELIMIT  15
  443.  
  444.         IDLETIME       Maximum inactivity time (in minutes) allowed while
  445.         (optional)     inside the mail door. It defaults to 3 (minutes).
  446.  
  447.                        Ex:  IDLETIME  2
  448.  
  449.         REFUND         Percentage of  time used  inside  the door  to  be
  450.         (optional)     refunded to the user.  It defaults to 0%  (no time
  451.                        refunded).
  452.  
  453.                        Ex:  REFUND  50
  454.  
  455.         MAXMSGS        Maximum number  of messages which can  be included
  456.         (optional)     in a single QWK packet.
  457.  
  458.                        If used  with  the  PROPORTIONAL  qualifier,  this
  459.                        command refers  to  the number of messages allowed
  460.                        if the user is connected at 1200 baud, so for 2400
  461.                        it's the double the 1200 baud rate, and so on.  By
  462.                        default it assumes the fixed value of 200.
  463.  
  464.                        When O_QWKer is used  in local mode,  PROPORTIONAL
  465.                        resolves  to  2,147,483,647  so  we may say  it is
  466.                        unlimited.
  467.  
  468.                        Ex:  MAXMSGS  300
  469.                             MAXMSGS  PROPORTIONAL  100
  470.  
  471.  
  472.                               O_QWKer 1.0                         Page 10
  473.  
  474.  
  475.         MAXLINES       Maximum number of lines  for each message included
  476.         (optional)     in the QWK packet. If the message is bigger, it is
  477.                        automatically split  in  chunks  (several messages
  478.                        with the same number at the reader). Default is 60
  479.                        lines.
  480.  
  481.                        Ex:  MAXLINES  100
  482.  
  483.         LOGMODE        Detail level of the log. The options are:
  484.         (optional)
  485.                          LOGMODE  TERSE     (light)
  486.                          LOGMODE  VERBOSE
  487.                          LOGMODE  TRACE     (lots of info)
  488.  
  489.                        It defaults to VERBOSE.
  490.  
  491.                        Ex:  LOGMODE  TERSE
  492.  
  493.         LOGFILE        O_QWKer log  filename.  It defaults to O_QWKer.LOG
  494.         (optional)     in the executable (O_QWKer.EXE) directory.
  495.  
  496.                        For multi-line  Opus installations  you should use
  497.                        one different file for each task.  You can specify
  498.                        it  by using  the standard  Opus wildcard for task
  499.                        number (##).
  500.  
  501.                        Ex:  LOGFILE  C:\LOG\O_QWKer.LOG
  502.                             LOGFILE  C:\O_QWKer\LOG##.LOG
  503.  
  504.         TEMPDIR        Directory used by O_QWKer to process packets.  All
  505.                        files in this directory are erased,  so be sure to
  506.                        define it properly.  The  TEMPDIR  value  can also
  507.                        point to a RAMdisk.
  508.  
  509.                        For multi-line Opus installations you should use a
  510.                        different directory for each task. You may specify
  511.                        it  by using  the standard  Opus wildcard for task
  512.                        number (##).
  513.  
  514.                        For security reasons TEMPDIR  defaults to the name
  515.                        \O_QWKer$.TMP  on  the  executable's  volume,  but
  516.                        please  note  this  isn't  an option  but rather a
  517.                        protection to your system.
  518.  
  519.                        A swap directory is also created inside TEMPDIR.
  520.  
  521.                        Ex:  TEMPDIR  C:\TMPQWK
  522.                             TEMPDIR  E:\QWK##
  523.  
  524.         QWKAREA        Opus  File Area  number  or Pathname  to where QWK
  525.         (optional)     packets are  to  be moved  in case of  a  Download
  526.                        failure,  so that the user is allowed to perform a
  527.                        deferred download after quitting the mail door.
  528.  
  529.                        In your NERF.BAT file you should check if there is
  530.                        any *.QWK file on the corresponding directory  and
  531.                        erase it  after  each user logs out,  to guarantee
  532.                        that  no  one  will  be  able  to  receive packets
  533.                        belonging to another user.
  534.  
  535.  
  536.                               O_QWKer 1.0                         Page 11
  537.  
  538.  
  539.                        If this option is not defined in the configuration
  540.                        file,  O_QWKer  will not try to move the packet to
  541.                        somewhere in case of Download failure.
  542.  
  543.                        Ex:  QWKAREA  10
  544.                             QWKAREA  F:\QWKPKT
  545.  
  546.         BADPATH        DOS path where orphaned messages are stored.  This
  547.         (optional)     option  has precedence  over the BAD_ECHO pathname
  548.                        in BBS.CTL.  If neither  exist  (either BADPATH in
  549.                        .CFG file  or  Opus  BAD_ECHO)  then  the orphaned
  550.                        messages are discarded.
  551.  
  552.                        Ex:  BADPATH  F:\BADQWK
  553.  
  554.         Sysop Local Mode Group
  555.         ----------------------
  556.  
  557.         ASSIGN         This  command  allows  you  to use  O_QWKer across
  558.         (optional)     networks.  Although  it  exists mainly  to support
  559.                        local usage,  it applies to  both local and remote
  560.                        sessions.
  561.  
  562.                        All occurrences of  the path defined  as the first
  563.                        parameter  will be searched in  Opus  system files
  564.                        (SYSMSG.DAT,  SYSFILE.DAT)  and  processed by this
  565.                        door as being the path corresponding to the second
  566.                        parameter, just like DOS Assign command.
  567.  
  568.                        You may declare up to 5 ASSIGN paths.
  569.  
  570.                        Ex:  ASSIGN  C:  O:
  571.                             ASSIGN  X:\OPUS\SYSTEM  C:\OPUS
  572.  
  573.         LOCALQWK       Directory  where  QWK  packets  generated in local
  574.                        mode are stored.  This is useful  to a Sysop using
  575.                        his/her off-line reader across a network.
  576.  
  577.                        Default is \O_QWKer$.LOC  on  the volume where the
  578.                        executable is installed.
  579.  
  580.                        Ex:  LOCALQWK  N:\SLMR\QWK
  581.  
  582.         LOCALREP       Directory  where  REP packets  to  be processed in
  583.                        local mode are stored.  This is useful  to a Sysop
  584.                        using his/her off-line reader across a network.
  585.  
  586.                        Default is \O_QWKer$.LOC on the binary's volume.
  587.  
  588.                        Ex:  LOCALREP  N:\SLMR\REP
  589.  
  590.         LOCALUSER      Name of the LASTUSxx.DAT file  to be used in local
  591.                        mode.  Be aware that if you want to take advantage
  592.                        of the auto-scan O_QWKer feature  in barefoot Opus
  593.                        installations,  you should use the name of correct
  594.                        LASTUSxx.DAT file for your keyboard mode Opus task.
  595.  
  596.                        Ex:  LOCALUSER  C:\OPUS\LASTUS02.DAT
  597.  
  598.  
  599.                               O_QWKer 1.0                         Page 12
  600.  
  601.  
  602.         ====================
  603.          Installing O_QWKer
  604.         ====================
  605.  
  606.         Installing the Menu Option
  607.         --------------------------
  608.  
  609.         The door installation is quite easy:  you just need  to  put  the
  610.         executable  O_QWKer.EXE inside your chosen directory,  create the
  611.         configuration file as explained above and declare an Outside menu
  612.         option:
  613.  
  614.            ...
  615.            SECURE 2
  616.            ...
  617.            _OUTSIDE Normal "QWK Mail door" = RUN C:\OPUS\O_QWKer.EXE
  618.            ...
  619.  
  620.         In the example,  O_QWKer would be accessible to  all  users  with
  621.         privilege Normal or above,  and would read its configuration from
  622.         the default file O_QWKer.CFG (in the C:\OPUS directory).  If  you
  623.         want to use another CFG filename (e.g.  QWK.CFG)  you must add it
  624.         at the end of the previous command line:
  625.  
  626.            ...
  627.            SECURE 2
  628.            ...
  629.            _OUTSIDE Normal "O_QWKer" = RUN C:\OPUS\O_QWKer.EXE G:\QWK.CFG
  630.            ...
  631.  
  632.         Important Notice: it is clearly stated in section 7.1.1, page 151
  633.         of OTEC_170.TXT that you should  'NOT  use  periods  in  external
  634.         program  command lines!  For example,  "/N:lastus01"  is OK,  but
  635.         "/N:lastus01.dat"  corrupts memory'.  We never came to the memory
  636.         corruption  occurrence  while  going against this recommendation,
  637.         but it's better to be aware that it may cause problems.
  638.  
  639.         If you prefer to have the door placed on a directory of its  own,
  640.         there are at least two ways of having the job done:
  641.  
  642.         i) Using a path in the menu option
  643.  
  644.            ...
  645.            SECURE 2
  646.            ...
  647.            _OUTSIDE Normal "QWK Mail door" = RUN D:\MAILDOOR\O_QWKer.EXE
  648.            ...                                   ------------
  649.  
  650.         ii) Calling the door using a batch file (using DOS outside option)
  651.  
  652.            ...
  653.            SECURE 2
  654.            ...
  655.            _OUTSIDE Normal "QWK Mail door" = DOS C:\OPUS\YOUR.BAT
  656.            ...                               ---
  657.  
  658.  
  659.                               O_QWKer 1.0                         Page 13
  660.  
  661.  
  662.         Inside  your  batch file you must pass command line parameters to
  663.         O_QWKer:
  664.  
  665.           YOUR.BAT
  666.  
  667.              rem
  668.              rem Let's assume home dir is D:\O_QWKer, Opus dir is C:\OPUS
  669.              rem and your are using YOUR.CFG configuration file
  670.              rem
  671.              D:
  672.              CD \O_QWKer
  673.              O_QWKer YOUR.CFG %1 %2 %3 %4 %5 %6
  674.              C:               -----------------
  675.              CD \OPUS
  676.              rem
  677.              rem Returning from outside
  678.              rem
  679.  
  680.         If you are running out of core when shelling to O_QWKer,  you may
  681.         want to try the EXIT approach:
  682.  
  683.            ...
  684.            RELOG 3
  685.            SECURE 2
  686.            ...
  687.            _OUTSIDE Normal "QWK Mail door" = EXIT 77
  688.            ...
  689.  
  690.         Now if your NERF.BAT contains the adequate ERRORLEVEL  trap,  you
  691.         may  run  the  mail  door.   The  EXIT  method  doesn't  pass the
  692.         arguments automatically to the external program,  so you need  to
  693.         provide  them  explicitly  in  the  batch file.  As the door gets
  694.         everything relevant from LASTUSxx.DAT,  it's enough to  pass  the
  695.         task number in the command line.
  696.         Let's see an example for Task 2:
  697.  
  698.             ...
  699.             IF ERRORLEVEL 77 GOTO O_QWKer
  700.             ...
  701.           :O_QWKer
  702.             O_QWKer -t2
  703.             GOTO RELOG
  704.             ...
  705.           :RELOG
  706.             Opus -o
  707.             ...
  708.  
  709.         Please refer to Opus documentation about the  options  RELOG  and
  710.         AFTER RELOG EXIT.
  711.  
  712.  
  713.                               O_QWKer 1.0                         Page 14
  714.  
  715.  
  716.         Multi-Line Setup
  717.         ----------------
  718.  
  719.         If  you  want  to setup O_QWKer for multi-line systems,  you will
  720.         probably prefer to have a slightly different installation in your
  721.         BBS.CTL file:
  722.  
  723.            ...
  724.            Task $(Task)
  725.            ...
  726.            SECURE 2
  727.            ...
  728.            _OUTSIDE Normal "QWK" = RUN O_QWKer.EXE O_QWKer.C$(Task)
  729.            ...
  730.  
  731.         This way NACL would expand the name  of  the  configuration  file
  732.         according to the defined Task number, and you would get:
  733.  
  734.            Task = 2           CFG filename -> O_QWKer.C2
  735.            Task = 1F          CFG filename -> O_QWKer.C1F
  736.  
  737.         More  on  this  subject  in  page  35  of OSOM_170.TXT operations
  738.         manual.
  739.  
  740.         There is another option,  based on the use of a single .CFG file,
  741.         but  using  the  task  wildcard  ##  in  the commands LOGFILE and
  742.         TEMPDIR.  With this approach you may use a  single  configuration
  743.         file, since you will have different temporary directories and log
  744.         files  to  each Opus Task.  If you define,  for example,  TEMPDIR
  745.         E:\QWK##,  Task 1 will use E:\QWK01  whereas  Task  44  will  use
  746.         E:\QWK2C (44 = 2C hexadecimal).
  747.  
  748.         Using O_QWKer across a Network
  749.         ------------------------------
  750.  
  751.         It  isn't  mandatory  that  O_QWKer  is used from inside Opus.  A
  752.         Sysop with network access to his BBS may want to receive/send his
  753.         echomail without logging-in the system.  Here are some  notes  on
  754.         achieving this.
  755.  
  756.         You  should  create  a  batch  file which runs the door with your
  757.         special .CFG file.  It should be something like the following:
  758.  
  759.             rem
  760.             Echo Using O_QWKer in local mode across the Network
  761.             X:\MAILDOOR\O_QWKer X:\MAILDOOR\NETLOCAL.CFG -k
  762.             rem
  763.  
  764.         This example assumes that  you  have  O_QWKer  installed  in  the
  765.         directory  MAILDOOR on the BBS disk (you see it as drive X),  and
  766.         your special .CFG filename is, in this example, NETLOCAL.CFG.
  767.  
  768.         This special  configuration  file  must  be  prepared  carefully.
  769.         Don't  forget  to have PRM option pointing to the Network volume,
  770.         to have a different log  file  (LOGFILE)  and  another  temporary
  771.         directory (TEMPDIR), preferably in your workstation local disk.
  772.  
  773.         You  also  will  need  to  use  ASSIGN to have the door correctly
  774.         interpreting data extracted from Opus system files  and  redirect
  775.  
  776.  
  777.                               O_QWKer 1.0                         Page 15
  778.  
  779.  
  780.         the accesses to the correct volumes (e.g.  ASSIGN C: X:).
  781.  
  782.         Finally  you  may  want  to have a copy of LASTUSxx.DAT with your
  783.         data, and renamed to something else.
  784.  
  785.         Please be aware that currently,  used this way,  O_QWKer  neither
  786.         updates  the user message counters in USER.DAT,  nor triggers the
  787.         echomail scan.
  788.  
  789.         And that's it.  You may create several variations based  on  this
  790.         setup,  but  the  idea  is  built around the ASSIGN configuration
  791.         commands and the -k switch.
  792.  
  793.         Installing Compressors
  794.         ----------------------
  795.  
  796.         You may make available up to 8 different packing schemes to  your
  797.         users,  but  only one is mandatory.  Both QWK and REP packets are
  798.         exchanged as archives, to minimize transfer time.
  799.  
  800.         You define each of them using a group of three .CFG lines.   Take
  801.         ZIP as an example:
  802.  
  803.             PACKER TEXT Zip 1.10
  804.             PACKER COMPRESS C:\UTIL\PKZIP.EXE -A
  805.             PACKER UNCOMPRESS C:\UTIL\PKUNZIP.EXE
  806.  
  807.         Following   there  is  a  list  of  common  archivers,   and  the
  808.         recommended .CFG syntax to be used.
  809.  
  810.            Type               COMPRESS             UNCOMPRESS
  811.            --------------     ----------------     ----------------
  812.            ARC (V.Buerg)      arca.com             arce.com
  813.            ARC (PKWare)       pkarc.exe -oct a     pkxarc.exe
  814.            PAK                pak.exe a /wa        pak.exe e /wa
  815.            ZOO                zoo.exe -add         zoo.exe xO
  816.            ZIP                pkzip.exe -a         pkunzip.exe
  817.            LHA                lha.exe a /m         lha.exe e /m
  818.            ARJ                arj.exe a -y         arj.exe e -y
  819.  
  820.         Please note that many off-line readers only support  ZIP, LHA and
  821.         ARJ packets, so perhaps it's a wise move to stick with these.
  822.  
  823.         By default, compressor output is shown only on console, so a user
  824.         may think that the program just crashed while he  waits  for  the
  825.         compression  of  a  QWK  packet  containing  many  messages.   To
  826.         overcome this annoying situation, you may redirect the compressor
  827.         output to the COM port,  so it is shown to the user  rather  than
  828.         the Sysop.  This is accomplished by the global CFG option
  829.  
  830.            REDIRECT COMPRESSORS
  831.  
  832.         Nevertheless  there  are  some  compressors that don't send their
  833.         output to stdout,  so they can not be redirected.   This  is  the
  834.         case with ARJ.
  835.  
  836.         When an user uploads  a REP packet compressed  with a method that
  837.         doesn't match his current compressor user option, O_QWKer reports
  838.         him the fact and logs the occurrence.
  839.  
  840.  
  841.                               O_QWKer 1.0                         Page 16
  842.  
  843.  
  844.         Installing Protocols
  845.         --------------------
  846.  
  847.         O_QWKer doesn't have any built-in file transfer protocols, so you
  848.         must install them externally.
  849.  
  850.         O_QWKer  executes  the  command defined in the configuration file
  851.         (see PROTOCOL UPLOAD and PROTOCOL  DOWNLOAD  options  above)  and
  852.         passes the following parameters:
  853.  
  854.              %1   Port (1 - COM1, 2 - COM2, etc.)
  855.              %2   Baudrate
  856.              %3   Filename
  857.  
  858.         Let's see how you can use this together with DSZ (Omen Technology
  859.         Inc.)  (By  the  way,  you  should  use the .EXE version of DSZ).
  860.                                                     -------------------
  861.  
  862.           O_QWKer.CFG
  863.              ...
  864.              PROTOCOL TEXT       Zmodem (DSZ)
  865.              PROTOCOL UPLOAD     RZ.BAT
  866.              PROTOCOL DOWNLOAD   SZ.BAT
  867.              ...
  868.  
  869.           SZ.BAT
  870.              @echo Sending QWK packet
  871.              dsz ha cts port %1 speed %2 sz %3
  872.  
  873.           RZ.BAT
  874.              @echo Receiving REP packet
  875.              dsz ha cts port %1 speed %2 rz
  876.  
  877.         Both SZ.BAT and RZ.BAT are included in the distribution  archive,
  878.         so that you don't need to cut and paste that information.
  879.  
  880.         Scanning Echomail
  881.         -----------------
  882.  
  883.         O_QWKer  searches  your  PRM file for the existence of the option
  884.         LOG ECHOMAIL,  and updates the ECHOTOSS.LOG (or whatever name  is
  885.         defined).   But  it goes beyond that:  in a barefoot installation
  886.         this mail door updates  the  internal  Opus  flags,  so  that  an
  887.         automatic  mail  scan  is triggered if any echomail message areas
  888.         received a message via O_QWKer and your system is  configured  to
  889.         act that way (SCAN ECHOMAIL in your CTL file).
  890.  
  891.         This implies three conditions:
  892.  
  893.           * Outside menu command must use DOS or RUN
  894.           * SECURE must be set to 2
  895.           * you must use LASTUSxx.DAT in your O_QWKer.CFG (in LOCALUSER)
  896.  
  897.         If  you  prefer,  you  may  alternatively  check the existence of
  898.         ECHOTOSS.LOG file upon user exit and perform an Opus run with  -s
  899.         switch or use your preferred Echomail processor.
  900.  
  901.         If ECHOTOSS.LOG is not defined, then no log is generated.
  902.  
  903.  
  904.                               O_QWKer 1.0                         Page 17
  905.  
  906.  
  907.         ================================
  908.          Security and Access Management
  909.         ================================
  910.  
  911.         O_QWKer  relies upon Opus privileges and key features in order to
  912.         achieve an easy  way  to  control  packet  creation  and  message
  913.         upload.   Furthermore,  you  can use the commands FORCE AREAS and
  914.         EXCLUDE AREAS for additional access management.
  915.  
  916.         At this point it is important to present  our  interpretation  of
  917.         the  access  keywords  in  Message Areas definition (in BBS.CTL).
  918.         The first two may be obvious;  ACCESS and PEEK.  The first grants
  919.         reading  access  and  the  second defines the privilege needed to
  920.         read private messages  not  addressed  to  the  reader.   So  the
  921.         question  is between EDIT and UPLOAD:  in our view,  EDIT relates
  922.         only to messages introduced on-line,  whereas UPLOAD relates with
  923.         messages prepared off-line and introduced in the BBS either using
  924.         the  Upload  command  or  an Off-line Reader Door.  Based on this
  925.         interpretation,  O_QWKer doesn't care how the EDIT privilege  and
  926.         keys are set.
  927.  
  928.         Now,  you may ask "Do I get any advantage setting EDIT and UPLOAD
  929.         priv/keys different?".  Indeed: if you want an area to have short
  930.         messages and not many replies with heavy quoting,  just give EDIT
  931.         access  and  deny  UPLOAD,  so  that users can't prepare off-line
  932.         lengthy messages...  Got the picture?
  933.  
  934.         The best way to introduce you to this issue  is  to  present  the
  935.         sequence  of  actions  taken  by the door during Message Scan and
  936.         Import processes.
  937.  
  938.         Scanning Messages for .QWK Packet
  939.         ---------------------------------
  940.  
  941.         For each existing Message Area
  942.  
  943.         1. Message Area  ACCESS privilege  and keys  are  matched against
  944.            user profile
  945.  
  946.         2. If the Area is declared mandatory  by FORCE AREA configuration
  947.            command skip to 4.
  948.            (you may argue this should be the first test, but this way the
  949.            door  will not grant access  to  a  privileged area  which you
  950.            erroneous have  declared mandatory,  thus giving an additional
  951.            degree of security)
  952.  
  953.         3. Check if this Area is currently toggled on by the user
  954.  
  955.         4. If user's  privilege  is  below  AsstSysop,  check  if Area is
  956.            excluded by the EXCLUDE AREA configuration command
  957.  
  958.         5. If Area is only for Public Messages, skip to 8.
  959.  
  960.         6. Check  PEEK privilege  and keys and if PEEK access is granted,
  961.            ignore 7.
  962.  
  963.         7. Match Username
  964.  
  965.         8. Include message (starting  after  current message  pointer  in
  966.  
  967.  
  968.                               O_QWKer 1.0                         Page 18
  969.  
  970.  
  971.            LREAD.DAT)  and skip (7. or 8.) for next message until no more
  972.            messages in Area.
  973.  
  974.            If private and addressed to current user,  flag it as Received
  975.            If  message has more than MAXLINES lines,  there is a split in
  976.            smaller messages.
  977.  
  978.         9. Update O_QWKer$.PTR (temporary new message pointers) for later
  979.            update
  980.  
  981.         Importing Messages from .REP Packet
  982.         -----------------------------------
  983.  
  984.         1. Match .REP identification,  to ensure  this packet  is to your
  985.            BBS.  This is one of the reasons you should configure a unique
  986.            BBSID name
  987.  
  988.            For each Message in Packet
  989.  
  990.         2. Message Area ACCESS  privilege  and keys  are  matched against
  991.            user profile
  992.  
  993.         3. Check UPLOAD privilege and keys
  994.  
  995.         4. If user's  privilege  is  below  AsstSysop,  check  if Area is
  996.            excluded by the EXCLUDE AREA configuration command
  997.  
  998.         5. Check if Area is Read/Only
  999.  
  1000.         6. Capitalize From: and To: message fields (user names)
  1001.  
  1002.         7. Match Username against From: message field
  1003.  
  1004.         8. Create message,  according to  Area message  allowed types: if
  1005.            Area only accepts Private messages,  Pvt flag is set,  even if
  1006.            the  message  have  been composed  as public; if  the  Area is
  1007.            Public only, Pvt flag is reset.
  1008.  
  1009.         9. If  Area  is  Echomail  and  MSGID KLUDGE  is  defined  in the
  1010.            configuration file, the kludge is inserted in the message
  1011.  
  1012.  
  1013.                               O_QWKer 1.0                         Page 19
  1014.  
  1015.  
  1016.         Message Import Error Codes
  1017.         --------------------------
  1018.  
  1019.         When the import process fails,  the user  gets  an  error  report
  1020.         instead of the area number where the message would be placed (the
  1021.         error is also logged).
  1022.  
  1023.         The error codes are the following:
  1024.  
  1025.           *BAD*    Severe Error. Shouldn't occur. Report to the authors.
  1026.           *R/O*    Message Area is Read-Only
  1027.           *PRV*    Not enough privilege to access Message Area
  1028.           *EXC*    Message Area excluded by Sysop (EXCLUDE AREA option)
  1029.           *N/A*    Message Area not found
  1030.           *USR*    Name in From field doesn't match username
  1031.           *N/X*    Matrix/Netmail not yet supported
  1032.           *NO$*    Not enough Credit to send Matrix message
  1033.           *TO?*    Matrix Address not found
  1034.           *ERR*    QWK command error (ADD, DROP or RESET area)
  1035.  
  1036.         There is another code that doesn't correspond to an error, but is
  1037.         also shown during message import:
  1038.  
  1039.           *OK*     QWK command accepted (ADD, DROP or RESET)
  1040.  
  1041.  
  1042.                               O_QWKer 1.0                         Page 20
  1043.  
  1044.  
  1045.         ========================
  1046.          Menus and On-line Help
  1047.         ========================
  1048.  
  1049.         Menus
  1050.         -----
  1051.  
  1052.         There  isn't  much  to say about O_QWKer menus,  except that they
  1053.         follow Opus menus as much as possible.  This includes support for
  1054.         NOVICE, REGULAR,  EXPERT and HITECH menus,  plus command stacking
  1055.         and ANSI support.
  1056.  
  1057.         The NOVICE menus are assigned to all new users,  regardless their
  1058.         Opus help level.  Later, an user may decide to have O_QWKer menus
  1059.         to follow the Opus level,  by switching to "NO" the "Help Novice"
  1060.         User Option.
  1061.  
  1062.         The tree includes the following menus:
  1063.  
  1064.             Main -    Grants  access  to   packet  upload  and  download,
  1065.               configuration menu,  and  general  information screen
  1066.  
  1067.             Configuration -  Allows  access  to further  menus for areas,
  1068.               protocols,  compressors  and  user options
  1069.  
  1070.             Areas -  In this  menu it  is  possible  to  toggle areas for
  1071.                inclusion in the  message scan process,  and also to reset
  1072.                the user message pointers for each area.  Please note that
  1073.                all/only  the areas  to which the user has access,  either
  1074.                R/W  or R/O,  are shown  in  the  associated  screen,  and
  1075.                Don/Up  commands  allow  for viewing more  in case a page
  1076.                isn't enough
  1077.  
  1078.             Compressors -  The user is allowed to choose from up to eight
  1079.                programs  you  made  available  in  the configuration file
  1080.                (PACKER... commands)
  1081.  
  1082.             Protocols -  The user is allowed  to choose  from up to eight
  1083.                transfer protocols you made available in the configuration
  1084.                files (PROTOCOL... commands)
  1085.  
  1086.             User Options - Allows to set/reset several user options which
  1087.                control  the  information included in QWK packets  and the
  1088.                help level
  1089.  
  1090.  
  1091.                               O_QWKer 1.0                         Page 21
  1092.  
  1093.  
  1094.         On-line Help
  1095.         ------------
  1096.  
  1097.         Help command (?, just like in Opus)  is  available at all O_QWKer
  1098.         menus.   Each  help  corresponds  to  an  OEC external file.  The
  1099.         recognized names are:
  1100.  
  1101.                Loading O_QWKer    - INITIAL.OEC
  1102.                Main Menu          - MAIN.OEC
  1103.                Configuration Menu - CONFIG.OEC
  1104.                Areas Menu         - AREAS.OEC
  1105.                Compressors Menu   - COMPRESS.OEC
  1106.                Protocols Menu     - PROTOCOL.OEC
  1107.                User Options Menu  - USER.OEC
  1108.                Download           - DOWNLOAD.OEC
  1109.                Download Error     - DLERROR.OEC
  1110.                Upload             - UPLOAD.OEC
  1111.                Upload Error       - ULERROR.OEC
  1112.                Leaving O_QWKer    - FINAL.OEC
  1113.  
  1114.         By default,  these OEC files  have to be placed in the executable
  1115.         directory  (the same as O_QWKer.EXE),  otherwise  they  won't  be
  1116.         shown to the users. You may use the configuration option HELPPATH
  1117.         (please refer to "Configuring O_QWKer",  above in this manual) to
  1118.         override this default.
  1119.         A message is shown to the user if no helpfile is found.
  1120.  
  1121.         The OEC commands correctly evaluated by the help sub-system are:
  1122.  
  1123.            [Enter]     [ClrEol]     [Home]     [Newline]     [Cls]
  1124.            [Blink]     [Colour on Colour]
  1125.  
  1126.         Colour names are:  Black, Blue, Green, Cyan, Red, Magenta, Brown,
  1127.         LightGrey,  Grey,  LightBlue,  LigthGreen,  LightCyan,  LightRed,
  1128.         LightMagenta, Yellow and White.
  1129.  
  1130.         Blink is enforced up to the next colour change.
  1131.  
  1132.  
  1133.                               O_QWKer 1.0                         Page 22
  1134.  
  1135.  
  1136.         ==========
  1137.          Insights
  1138.         ==========
  1139.  
  1140.         Besides the two main files - O_QWKer.EXE and the Config file, the
  1141.         O_QWKer mail door relies upon a file maintained by itself, called
  1142.         O_QWKer.DAT and located again in the same directory.  It contains
  1143.         the  user  options  (selected  areas,  packet options,  protocol,
  1144.         compressor)  indexed with the same key  as  in  Opus's  USER.DAT.
  1145.         Please  note that no particular message pointers are used by this
  1146.         mail door -  it uses and  updates  the  LREAD.DAT  file  on  each
  1147.         message area, including the Sysop pointers.
  1148.  
  1149.         If  the  O_QWKer.DAT  file  is  erased,  all  users  will have to
  1150.         re-select areas,  compressor,  protocol and  options,  so  it  is
  1151.         recommended  that  you  include  this  file  in your daily backup
  1152.         procedures.
  1153.  
  1154.         There are also two  other  files  you  might  also  find  hanging
  1155.         around, although normally erased by the door.
  1156.  
  1157.         The first is a swapfile (with an unique DOS name)  created by the
  1158.         door  inside  O_QWKer$.SWP  directory  (itself   inside   TEMPDIR
  1159.         directory).   Normally  the  door  swaps  to  EMS  or  XMS before
  1160.         executing the archiver or the file transfer program.   If  memory
  1161.         is  not available,  the swapper uses the directory pointed by the
  1162.         TMP or TEMP in the DOS environment (defined with DOS command  SET
  1163.         TMP=C:\XXX).   As  a  last  move,  this O_QWKer$.SWP directory is
  1164.         used.
  1165.  
  1166.         The second is O_QWKer$.PTR,  a temporary holder of user's message
  1167.         pointers,  used  to  restore  them if the .QWK packet download is
  1168.         aborted.
  1169.  
  1170.  
  1171.                               O_QWKer 1.0                         Page 23
  1172.  
  1173.  
  1174.         =========
  1175.          Licence
  1176.         =========
  1177.  
  1178.         All FidoNet Sysops are hereby authorized to use and/or distribute
  1179.         O_QWKer provided only that
  1180.  
  1181.          (1) no money is charged for either its use or distribution
  1182.          (2) it is  distributed together  with all files  included in the
  1183.              original distribution archive  (change of compression method
  1184.              is allowed)
  1185.          (3) the inclusion of O_QWKer software in any kind of compilation
  1186.              or another software package is subject of a previous written
  1187.              authorization from his authors
  1188.          (4) it is used  under the Opus spirit - in a LAWFUL and FRIENDLY
  1189.              manner
  1190.          (5) it isn't a version under testing by the Opus Beta Test Team
  1191.  
  1192.  
  1193.         ============
  1194.          Disclaimer
  1195.         ============
  1196.  
  1197.         Please  be  aware  that  programs such as Mail Doors have to deal
  1198.         with Opus at a very low level.  This means accessing  files  like
  1199.         USER.DAT,  SYSMSG.DAT  and  other  critical  points  and possibly
  1200.         updating some of these files.  While every attempt has been  made
  1201.         to  code and test this software,  you should keep current backups
  1202.         of  your  system,   should  any  problems  develop.   You  should
  1203.         carefully  observe all configuration options and install the door
  1204.         as advised in the documentation.
  1205.  
  1206.         Although we tried to incorporate security mechanisms to  overcome
  1207.         your  creative  procedures,  we  obviously  cannot guarantee that
  1208.         O_QWKer will be able to preserve the integrity of your system.
  1209.  
  1210.         O_QWKer is provided on an AS-IS basis.  No  responsibility  shall
  1211.         be taken by its authors in relation to anything happening to your
  1212.         system,   directly   or   indirectly   arising   from   its  use,
  1213.         malfunctioning and/or installation.
  1214.  
  1215.  
  1216.                               O_QWKer 1.0                         Page 24
  1217.  
  1218.  
  1219.         =================
  1220.          Acknowledgements
  1221.         =================
  1222.  
  1223.         Besides everybody  that  kept  Opus alive  all these years,  this
  1224.         project  had  the direct collaboration  of nice people around the
  1225.         WOC  (specially from the Opus Utility Team),  that helped in many
  1226.         ways to shape  what O_QWKer currently is  and  what it will be in
  1227.         the future.
  1228.  
  1229.         Some people involved in the testing cycle  and  technical support
  1230.         deserve a very special reference,  for helping tracing and fixing
  1231.         the problems:
  1232.  
  1233.           Cheryl Buzzell      Erik Likvarn        Trev Roydhouse
  1234.           Mark Shultise       Jon Morby           Stein-Ivar Johnsen
  1235.           Roger Franz         Chinian Wang        John Valentyn
  1236.           Rob Lerman          Todd Savoie         Chris Moran
  1237.           Antonio Vieira      Jeff King           Vasco Santos
  1238.           Patrick Lee         Thomas Wagner       Kay Akagi
  1239.  
  1240.         Thanks a lot, on behalf of all O_QWKer users!
  1241.  
  1242.  
  1243.         ========================
  1244.          Contacting the Authors
  1245.         ========================
  1246.  
  1247.         O_QWKer is a copyrighted joint work by
  1248.              Bernardo Cardoso    Programming
  1249.              Fausto Carvalho     Design, Verification and Doc's
  1250.  
  1251.         You may contact the O_QWKer  development  team  using  MEADOW  or
  1252.         OPUSUTIL, or sending Netmail to 2:361/1 or 2:361/7
  1253.